package com.ant.storage.pojo;

import com.ant.storage.vo.PickingCommodityVo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 
 * </p>
 *
 * @author melon
 * @since 2022-10-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="Picking对象", description="")
public class Picking implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty("领料单号")
    @TableField("odd_numbers")
    private String oddNumbers;

    @ApiModelProperty("单号")
    @TableField("business_order_number")
    private String businessOrderNumber;

    @ApiModelProperty("城市id")
    @TableField("city_id")
    private Integer cityId;

    @ApiModelProperty("部门id")
    @TableField("dep_id")
    private Integer depId;

    @ApiModelProperty("仓库id")
    @TableField("warehouse_id")
    private Integer warehouseId;

    @ApiModelProperty("领料人id")
    @TableField("user_id")
    private Integer userId;

    @ApiModelProperty("领取数量")
    private String quantity;

    @ApiModelProperty("价格")
    private BigDecimal price;

    @ApiModelProperty("领取类型 1 非业务领取 2 业务领取")
    @TableField("collection_type")
    private Integer collectionType;

    @ApiModelProperty("备注")
    private String  remarks;

    @ApiModelProperty("钉钉审核状态 1 审核中 2 审核通过 3 审核拒绝")
    @TableField("audit_status")
    private Integer auditStatus;

    @ApiModelProperty("领取状态 0 未处理 1 暂时出库 2 完成")
    private String status;

    @ApiModelProperty("领审批id")
    @TableField("process_instance_id")
    private String processInstanceId;

    @ApiModelProperty("是否审批 0 不审批  1 审批")
    @TableField("is_approved")
    private Integer isApproved;

    @ApiModelProperty("操作人")
    @TableField("creation_by")
    private String creationBy;

    @ApiModelProperty("领取时间")
    @TableField("creation_time")
    private Date creationTime;

    @ApiModelProperty("出库时间")
    @TableField("delivery_time")
    private Date deliveryTime;

    @ApiModelProperty("是否删除")
    @TableField("is_delete")
    private Integer isDelete;

    @TableField(exist = false)
    private List<PickingCommodityVo>  detailsList;

    @ApiModelProperty("钉钉id")
    @TableField(exist = false)
    private String userIds;

    @ApiModelProperty("用户名")
    @TableField(exist = false)
    private String userName;

    @ApiModelProperty(value = "钉钉申请城市")
    @TableField(exist = false)
    private String city;

    @ApiModelProperty(value = "钉钉申请部门")
    @TableField(exist = false)
    private String department;

    @ApiModelProperty(value = "钉钉申请部门")
    @TableField(exist = false)
    private String departmentText;

    @ApiModelProperty(value = "审核人")
    @TableField(exist = false)
    private List<String> approval;

    @ApiModelProperty(value = "抄送人")
    @TableField(exist = false)
    private List<String> notify;

    @ApiModelProperty(value = "审核列表")
    @TableField(exist = false)
    private List<AuditList> auditList;

}
